Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Padding (Informatik)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Padding_(Informatik)"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Padding_Informatik rootpage-Padding_Informatik skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Padding (Informatik)</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Padding</b> (von <span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic"><i>to pad</i></span> ‚auffüllen‘) ist ein Fachbegriff der <a href="Informatik" title="Informatik">Informatik</a> für Fülldaten, mit denen ein vorhandener Datenbestand vergrößert wird. Die Füllbytes werden auch <i>Pad-Bytes</i> genannt. Die für <a href="Pr%C3%BCfsumme" title="Prüfsumme">Prüfsummen</a> verwendeten Daten zählen hierbei nicht zum Padding.
</p><p>Padding wird vorwiegend eingesetzt, um vorhandene Daten in die Gestalt einer durch einen <a href="Algorithmus" title="Algorithmus">Algorithmus</a> oder ein <a href="Netzwerkprotokoll" title="Netzwerkprotokoll">Protokoll</a> vorgegebenen Struktur zu bringen. Entsprechen die vorhandenen Daten nicht der Struktur – beispielsweise eine Folge von 50&nbsp;Bits bei einem Algorithmus, der auf einem Block von 64&nbsp;Bit Länge operiert – werden diese mit geeigneten Bit- oder Bytefolgen erweitert. Die Wahl des Paddings kann hierbei – je nach Anwendung – von simplem Auffüllen mit Nullen (Zero Padding) bis zu komplexen Schemata reichen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Padding_in_der_Kryptographie">Padding in der Kryptographie</h2></div>
<p>In der klassischen <a href="Kryptographie" title="Kryptographie">Kryptographie</a> wurde Padding variabler Längen dazu eingesetzt, Anfang und Ende des Inhalts eines versandten Chiffrats zu verschleiern. Hierdurch sollte es <a href="Kryptoanalyse" title="Kryptoanalyse">Kryptoanalysten</a> erschwert werden, die Position fester Begriffe – etwa des Absenders oder einer Anrede – zu erraten und mit Hilfe einer solchen „<a href="Crib" title="Crib">Crib</a>“ die Nachricht zu dechiffrieren. In der modernen Kryptographie – in der simple „Cribs“ aufgrund der Komplexität der Algorithmen keine Rolle mehr spielen – hat das Padding neben dem reinen Auffüllen zudem die Aufgabe, die Sicherheit des Algorithmus zu erhöhen.
</p><p>Im Falle von <a href="Merkles_Meta-Verfahren" class="mw-redirect" title="Merkles Meta-Verfahren">Merkle-Damgård-Hash-Funktionen</a> – der überwiegend verwendeten Form kryptographischer <a href="Hash-Funktion" class="mw-redirect" title="Hash-Funktion">Hash-Funktionen</a> – wird das Padding dazu eingesetzt, die Nachrichtenlänge auf ein Vielfaches der Blocklänge der Kompressionsfunktion zu bringen.
</p><p>Bei symmetrischen <a href="Blockverschl%C3%BCsselung" title="Blockverschlüsselung">Blockchiffren</a> wird Padding ebenfalls verwendet, um den Klartext an die Blocklänge anzupassen. Die meisten Betriebsarten (z.&nbsp;B. <a href="Electronic_Code_Book_Mode" title="Electronic Code Book Mode">ECB</a>, <a href="Cipher_Block_Chaining_Mode" title="Cipher Block Chaining Mode">CBC</a>) verlangen als Eingabe einen Klartext, dessen Länge ein Vielfaches der Blocklänge ist.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> An das Auffüllen des Klartextes werden folgende Ansprüche gestellt:<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Jeder beliebige Klartext kann an ein Vielfaches der Blocklänge angepasst werden.</li>
<li>Das Padding ist eindeutig invertierbar.</li>
<li>Die durchschnittliche Längenexpansion sollte minimal sein.</li></ul>
<p>Um diese Kriterien einzuhalten, bietet es sich an, jedem Klartext ein festgelegtes Zeichen (z.&nbsp;B. „1“) anzuhängen und dann mit einem anderen Zeichen (z.&nbsp;B. „0“) aufzufüllen.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Bei <a href="Asymmetrisches_Kryptosystem" title="Asymmetrisches Kryptosystem">asymmetrischer Kryptographie</a>, vor allem beim <a href="RSA-Kryptosystem" title="RSA-Kryptosystem">RSA-Kryptosystem</a>, soll das Padding das Ergebnis (z.&nbsp;B. den Chiffretext oder die <a href="Digitale_Signatur" title="Digitale Signatur">digitale Signatur</a>) randomisieren. Dadurch wird erreicht, dass bei zweimaligem Verschlüsseln derselben Nachricht zwei unterschiedliche Chiffrate erzeugt werden. Um dies zu erreichen, werden neben dem Auffüllen mit zufälligen Bitstrings eines festen Formats auch modernere Paddingverfahren mit stärkeren Sicherheitsgarantien wie <a href="Probabilistic_Signature_Scheme" title="Probabilistic Signature Scheme">Probabilistic Signature Scheme</a> oder <a href="Optimal_Asymmetric_Encryption_Padding" title="Optimal Asymmetric Encryption Padding">Optimal Asymmetric Encryption Padding</a> verwendet. Standards für Paddingverfahren für RSA werden z.&nbsp;B. in <a href="PKCS" class="mw-redirect" title="PKCS">PKCS</a>#1 oder <a href="Internationale_Organisation_f%C3%BCr_Normung" title="Internationale Organisation für Normung">ISO</a> 9796 festgelegt.
</p><p>Padding kann dazu benutzt werden, die Länge eines Klartextes und damit auch des Ciphertextes zu randomisieren bzw. auf eine bestimmte (immer gleiche) Länge zu bringen. Auf diese Weise wird Padding beispielsweise in TLS 1.3 genutzt.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Dazu wird oft sogenanntes „zero padding“ oder „null padding“ benutzt, welches nur Nullen benutzt. Damit soll Angreifern erschwert werden, die Länge des Klartextes zu erraten.
</p>
<div class="mw-heading mw-heading2"><h2 id="Padding_in_der_Informatik">Padding in der Informatik</h2></div>
<p>Außerhalb der Kryptographie findet man Padding bei Netzwerkprotokollen, diversen fest strukturierten <a href="Dateiformat" title="Dateiformat">Dateiformaten</a> wie beispielsweise Grafikdateien, sowie allgemein (also sowohl in Dateien als auch im <a href="Arbeitsspeicher" title="Arbeitsspeicher">Arbeitsspeicher</a> des <a href="Computer" title="Computer">Computers</a>) in diversen <a href="Datenstruktur" title="Datenstruktur">Datenstrukturen</a>, die Regeln solcher Art erfüllen müssen, beispielsweise Beginn neuer Elemente immer nur an geraden oder durch vier teilbaren Adressen, siehe beispielsweise beim <a href="Interchange_File_Format" title="Interchange File Format">Interchange File Format</a>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Bei Musikdateien findet Padding Anwendung, wenn Metadaten am Anfang der Datei stehen. Dadurch können die Metadaten in der Länge verändert werden (mit entsprechend gegenteiliger Änderung des Paddings), ohne dass die ganze Datei neu geschrieben werden muss (da die Position der <a href="Nutzdaten" title="Nutzdaten">Nutzdaten</a> unverändert bleibt).
</p>
<div class="mw-heading mw-heading2"><h2 id="Quellen">Quellen</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a href="Niels_Ferguson" title="Niels Ferguson">Niels Ferguson</a>, <a href="Bruce_Schneier" title="Bruce Schneier">Bruce Schneier</a>: <i>Practical Cryptography.</i> Wiley, Indianapolis IN 2003, ISBN 0-471-22357-3, S. 68.</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a href="Andreas_Pfitzmann" title="Andreas Pfitzmann">Andreas Pfitzmann</a>: <a rel="nofollow" class="external text" href="http://dud.inf.tu-dresden.de/%7Epfitza/DSuKrypt.pdf">Skript <i>Sicherheit in Rechnernetzen.</i></a> (PDF; 1,7&nbsp;MB) S. 355.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Andreas Pfitzmann: <a rel="nofollow" class="external text" href="http://dud.inf.tu-dresden.de/%7Epfitza/DSuKrypt.pdf">Skript <i>Sicherheit in Rechnernetzen.</i></a> (PDF; 1,7&nbsp;MB) S. 424f.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.ietf.org/mail-archive/web/tls/current/msg18710.html"><i>TLS Prototype of TLS 1.3 records, padding, and optional headerless records.</i></a><span class="Abrufdatum"> Abgerufen am 2.&nbsp;August 2017</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3APadding+%28Informatik%29&amp;rft.title=TLS+Prototype+of+TLS+1.3+records%2C+padding%2C+and+optional+headerless+records&amp;rft.description=TLS+Prototype+of+TLS+1.3+records%2C+padding%2C+and+optional+headerless+records&amp;rft.identifier=https%3A%2F%2Fwww.ietf.org%2Fmail-archive%2Fweb%2Ftls%2Fcurrent%2Fmsg18710.html&amp;rft.date=">&nbsp;</span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/IFF.txt">Electronic Arts' IFF standard for Interchange File Format</a> (englisch)</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-06-02" href="https://de.wikipedia.org/wiki/?title=Padding_(Informatik)&amp;oldid=256594555">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>